Release 10.1A: OpenEdge Data Management:
DataServer for Microsoft SQL Server
ROWID characteristics
The ROWID value is not stored directly in the MS SQL Server data source, but it is represented by a unique index key in your database. If you migrated your database to an MS SQL Server and elected to use the
Note: While theCREATE RECID FIELDoption during the migration, a unique 4-byte Integer column namedPROGRESS_RECIDand a corresponding seed column namedPROGRESS_RECID_IDENTwill have been automatically generated in your database tables along with a corresponding Index containing thePROGRESS_RECIDvalue as its key.PROGRESS_RECID_IDENTcolumn is not used to resolve the ROWID value, it is important to recognize the presence of this column for purposes of the following discussion. (This point is especially significant because its physical presence is unknown to the schema holder definition that represents this table to the client.)Databases that are only pulled from the native environment or are migrated without the
CREATE RECID FIELDoption must choose a unique index key from each table to represent the Progress recid to support theRECIDand ROWID functions, and forward and backward scrolling within their 4GL sessions. Progress will internally map the selected unique key to the ProgressRECIDand ROWID functions. It is important to note that the unique index key used to derive the Progress ROWID must be a single component index for it to map to the ROWID of a temp-table as described in the following discussion. For more details, see the ROWID function discussion in Chapter 2, " Initial Programming Considerations."Also, before discussing ROWID as it relates to the RUN STORED-PROC statement, it is important to understand an important property of the Progress ROWID. The "ROWID - Standard Progress 4GL behavior" section presents this information.
ROWID - Standard Progress 4GL behavior
The ROWID value of a temp-table buffer will be different than the ROWID value of a record BUFFER even if the underlying data is identical. This difference exists because the ROWID function relies on the record buffer name.
Example 3–23 shows the standard, expected Progress 4GL behavior.
Example 3–23: Expected 4GL behavior - ROWID value of a temp-table bufferThe following sections illustrate the differences between the
ROWIDvalue of a temp-table buffer and the ROWID value of a record BUFFER so that you can best understand, program for, and leverage the use of the ROWID function with theLOAD-RESULT-INTOclause of theRUN STORED-PROCEDUREcommand.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |